﻿' LibWowAPI
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System

<Assembly: CLSCompliant(True)> 

Namespace roncliProductions.LibWowAPI.Enums

    ''' <summary>
    ''' An enumeration to describe an item's quality.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Quality
        Unknown = -1
        Poor = 0
        Common = 1
        Uncommon = 2
        Rare = 3
        Epic = 4
        Legendary = 5
        OtherLegendary = 6
        Heirloom = 7
    End Enum

    ''' <summary>
    ''' An enumeration to describe a side.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Side
        Unknown = -1
        Alliance = 0
        Horde = 1
    End Enum

    ''' <summary>
    ''' An enumeration to describe a gender.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Gender
        Unknown = -1
        Male = 0
        Female = 1
    End Enum

    ''' <summary>
    ''' An enumeration to describe a character's reputation standing.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Standing
        Unknown = -1
        Hated = 0
        Hostile = 1
        Unfriendly = 2
        Neutral = 3
        Friendly = 4
        Honored = 5
        Revered = 6
        Exalted = 7
    End Enum

    ''' <summary>
    ''' An enumeration to describe a realm's type.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum RealmType
        Unknown = 0
        PvE = 1
        PvP = 2
        RP = 3
        RPPvP = 4
    End Enum

    ''' <summary>
    ''' An enumeration to describe a character's power type.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum PowerType
        Unknown = 0
        Energy = 1
        Focus = 2
        Mana = 3
        Rage = 4
        RunicPower = 5
    End Enum

    ''' <summary>
    ''' An enumeration to describe a character's progression in an instance.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Progress
        Unknown = -1
        None = 0
        [Partial] = 1
        Cleared = 2
    End Enum

    ''' <summary>
    ''' An enumeration to describe an item's binding.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Binding
        NoBinding = 0

        ''' <summary>
        ''' This also encompasses Bind on Battle.Net account.
        ''' </summary>
        ''' <remarks></remarks>
        BindOnPickup = 1
        BindOnEquip = 2
        BindOnUse = 3
        QuestItem = 4

        ''' <summary>
        ''' Carryover from the Armory which defined both types 4 and 5 as a quest item, but type 5 was never used.
        ''' </summary>
        ''' <remarks></remarks>
        OtherQuestItem = 5
    End Enum

    ''' <summary>
    ''' An enumeration to describe an item's subclass.
    ''' </summary>
    ''' <remarks>The value of the enumeration is 100 * class + subclass.</remarks>
    Public Enum ItemSubClass
        None = -1
        Consumable = 0
        Consumable_Potion = 1
        Consumable_Elixir = 2
        Consumable_Flask = 3
        Consumable_Scroll = 4
        Consumable_FoodAndDrink = 5
        Consumable_ItemEnhancement = 6
        Consumable_Bandage = 7
        Consumable_Other = 8
        Container = 100
        Container_SoulBag = 101
        Container_HerbBag = 102
        Container_EnchantingBag = 103
        Container_EngineeringBag = 104
        Container_GemBag = 105
        Container_MiningBag = 106
        Container_LeatherworkingBag = 107
        Container_InscriptionBag = 108
        Container_TackleBox = 109
        Weapon_OneHandedAxe = 200
        Weapon_TwoHandedAxe = 201
        Weapon_Bow = 202
        Weapon_Gun = 203
        Weapon_OneHandedMace = 204
        Weapon_TwoHandedMace = 205
        Weapon_Polearm = 206
        Weapon_OneHandedSword = 207
        Weapon_TwoHandedSword = 208
        <Obsolete("This subclass is obsolete.")> Weapon_Obsolete = 209
        Weapon_Staff = 210
        Weapon_OneHandedExotic = 211
        Weapon_TwoHandedExotic = 212
        Weapon_FistWeapon = 213
        Weapon_Miscellaneous = 214
        Weapon_Dagger = 215
        Weapon_Thrown = 216
        Weapon_Spear = 217
        Weapon_Crossbow = 218
        Weapon_Wand = 219
        Weapon_FishingPole = 220
        Gem_Red = 300
        Gem_Blue = 301
        Gem_Yellow = 302
        Gem_Purple = 303
        Gem_Green = 304
        Gem_Orange = 305
        Gem_Meta = 306
        Gem_Simple = 307
        Gem_Prismatic = 308
        Gem_Hydraulic = 309
        Gem_Cogwheel = 310
        Armor_Miscellaneous = 400
        Armor_Cloth = 401
        Armor_Leather = 402
        Armor_Mail = 403
        Armor_Plate = 404
        <Obsolete("This subclass is obsolete.")> Armor_Buckler = 405
        Armor_Shield = 406
        Armor_Libram = 407
        Armor_Idol = 408
        Armor_Totem = 409
        Armor_Sigil = 410
        Armor_Relic = 411
        Reagent = 500
        <Obsolete("This subclass is obsolete.")> Projectile_Wand = 600
        <Obsolete("This subclass is obsolete.")> Projectile_Bolt = 601
        Projectile_Arrow = 602
        Projectile_Bullet = 603
        <Obsolete("This subclass is obsolete.")> Projectile_Thrown = 604
        TradeGoods = 700
        TradeGoods_Parts = 701
        TradeGoods_Explosives = 702
        TradeGoods_Devices = 703
        TradeGoods_Jewelcrafting = 704
        TradeGoods_Cloth = 705
        TradeGoods_Leather = 706
        TradeGoods_MetalAndStone = 707
        TradeGoods_Meat = 708
        TradeGoods_Herb = 709
        TradeGoods_Elemental = 710
        TradeGoods_Other = 711
        TradeGoods_Enchanting = 712
        TradeGoods_Materials = 713
        TradeGoods_ItemEnchantment = 714
        <Obsolete("This subclass is obsolete.")> TradeGoods_WeaponEnchantment = 715
        <Obsolete("This subclass is obsolete.")> Generic = 800
        Book = 900
        Book_Leatherworking = 901
        Book_Tailoring = 902
        Book_Engineering = 903
        Book_Blacksmithing = 904
        Book_Cooking = 905
        Book_Alchemy = 906
        Book_FirstAid = 907
        Book_Enchanting = 908
        Book_Fishing = 909
        Book_Jewelcrafting = 910
        Book_Inscription = 911
        <Obsolete("This subclass is obsolete.")> Money = 1000
        <Obsolete("This subclass is obsolete.")> Quiver = 1100
        <Obsolete("This subclass is obsolete.")> Quiver_Obsolete = 1101
        Quiver_Quiver = 1102
        Quiver_AmmoPouch = 1103
        Quest = 1200
        Key = 1300
        Key_Lockpick = 1301
        Permanent = 1400
        Junk = 1500
        Junk_Reagent = 1501
        Junk_Pet = 1502
        Junk_Holiday = 1503
        Junk_Other = 1504
        Junk_Mount = 1505
        Glyph = 1600
        Glyph_Warrior = 1601
        Glyph_Paladin = 1602
        Glyph_Hunter = 1603
        Glyph_Rogue = 1604
        Glyph_Priest = 1605
        Glyph_DeathKnight = 1606
        Glyph_Shaman = 1607
        Glyph_Mage = 1608
        Glyph_Warlock = 1609
        Glyph_Druid = 1611
    End Enum

    ''' <summary>
    ''' An enumeration to describe inventory type
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum InventoryType
        NonEquipType = 0
        Head = 1
        Neck = 2
        Shoulders = 3
        Shirt = 4

        ''' <summary>
        ''' Does not include robes, see InventoryType.ChestRobe for robes
        ''' </summary>
        ''' <remarks></remarks>
        Chest = 5
        Waist = 6
        Legs = 7
        Feet = 8
        Wrist = 9
        Hands = 10
        Finger = 11
        Trinket = 12
        OneHand = 13

        ''' <summary>
        ''' Off hand slot, exclusively for shields, see InventoryType.OffHand for other off hands
        ''' </summary>
        ''' <remarks></remarks>
        OffHandShield = 14

        ''' <summary>
        ''' Ranged slot, exclusively for bows, see InventoryType.Ranged for other ranged
        ''' </summary>
        ''' <remarks></remarks>
        RangedBow = 15
        Back = 16
        TwoHand = 17
        Bag = 18
        Tabard = 19

        ''' <summary>
        ''' Chest slot, exclusively for robes, see InventoryType.Chest for other chests
        ''' </summary>
        ''' <remarks></remarks>
        ChestRobe = 20
        MainHand = 21

        ''' <summary>
        ''' Does not include shields or frills, see InventoryType.OffHandShield for shields and InventoryType.OffHandFrill for frills
        ''' </summary>
        ''' <remarks></remarks>
        OffHand = 22

        ''' <summary>
        ''' Off hand slot, exclusively for frills, see InventoryType.OffHand for other off hands
        ''' </summary>
        ''' <remarks></remarks>
        OffHandFrill = 23
        Projectile = 24
        Thrown = 25

        ''' <summary>
        ''' Does not include bows, see InventoryType.RangedBow for bows
        ''' </summary>
        ''' <remarks></remarks>
        Ranged = 26
        <Obsolete("This inventory type is obsolete.")> Quiver = 27

        ''' <summary>
        ''' Includes totems, idols, librams and relics
        ''' </summary>
        ''' <remarks></remarks>
        Relic = 28
    End Enum

    ''' <summary>
    ''' An enumeration to describe a profession.
    ''' </summary>
    ''' <remarks>The value of the enumeration is the profession ID.</remarks>
    Public Enum Profession
        None = 0
        Alchemy = 171
        Archaeology = 794
        Blacksmithing = 164
        Cooking = 185
        Enchanting = 333
        Engineering = 202
        FirstAid = 129
        Fishing = 356
        Herbalism = 182
        Inscription = 773
        Jewelcrafting = 755
        Leatherworking = 165
        Mining = 186
        Riding = 762
        Skinning = 393
        Tailoring = 197
    End Enum

    ''' <summary>
    ''' An enumeration to describe a combat statistic type.
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum Stat
        None = 0
        Health = 1
        Mana = 2
        Agility = 3
        Strength = 4
        Intellect = 5
        Spirit = 6
        Stamina = 7
        DefenseSkillRating = 12
        DodgeRating = 13
        ParryRating = 14
        BlockRating = 15
        HitMeleeRating = 16
        HitRangedRating = 17
        HitSpellRating = 18
        CritMeleeRating = 19
        CritRangedRating = 20
        CritSpellRating = 21
        HitMeleeTakenRating = 22
        HitRangedTakenRating = 23
        HitSpellTakenRating = 24
        CritMeleeTakenRating = 25
        CritRangedTakenRating = 26
        CritSpellTakenRating = 27
        HasteMeleeRating = 28
        HasteRangedRating = 29
        HasteSpellRating = 30
        HitRating = 31
        CritRating = 32
        HitTakenRating = 33
        CritTakenRating = 34
        ResilienceRating = 35
        HasteRating = 36
        ExpertiseRating = 37
        AttackPower = 38
        RangedAttackPower = 39
        FeralAttackPower = 40
        SpellHealingDone = 41
        SpellDamageDone = 42
        ManaRegeneration = 43
        ArmorPenetrationRating = 44
        SpellPower = 45
        HealthRegeneration = 46
        SpellPenetration = 47
        BlockValue = 48
        MasteryRating = 49
        ExtraArmor = 50
        FireResistance = 51
        FrostResistance = 52
        ShadowResistance = 54
        NatureResistance = 55
        ArcaneResistance = 56
    End Enum

End Namespace
